package org.bonorsoft.modules.user.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.bonorsoft.common.constant.UserConstants;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

@Data
@TableName("sys_role")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class MobileRole {
    /**主键id*/
    @TableId(type = IdType.UUID)
    private java.lang.Integer id;
    /**角色名称*/
    @Excel(name = "角色名称", width = 15)
    private java.lang.String name;
    /**角色权限字符串*/
    private java.lang.String roleKey;
    /**显示顺序*/
    private java.lang.Integer roleSort;
    /**数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）*/
    private java.lang.String dataScope;
    /**角色状态（0正常 1停用）*/
    private java.lang.String status;
    /**删除标志（0代表存在 2代表删除）*/
    private java.lang.String delFlag;
    /**创建人*/
    private java.lang.String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private java.util.Date createTime;
    /**更新人*/
    private java.lang.String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private java.util.Date updateTime;
    /**备注*/
    private java.lang.String remark;

    public MobileRole(Integer id) {
        this.id = id;
    }

    public boolean whetherAdmin()
    {
        return whetherAdmin(this.id);
    }

    private static boolean whetherAdmin(Integer id)
    {
        return id != null && id.equals(UserConstants.ADMIN_ROLE_ID);
    }

}
